From 25866500471b52c5dc3e04f61416756154e683d8 Mon Sep 17 00:00:00 2001 From: "sos22@douglas.cl.cam.ac.uk" Date: Tue, 8 Aug 2006 11:17:52 +0100 Subject: [PATCH] [hvm] Move the mapping of the shared IO page slightly earlier in the initialisation sequence for HVM guests, so that we can write vp_eport into the shared after creating the port. Signed-off-by: Steven Smith --- xen/arch/x86/hvm/hvm.c | 1 - xen/include/asm-x86/hvm/hvm.h | 9 +++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index cbc2a5bd4a..9c0c3e00d5 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -175,7 +175,6 @@ void hvm_setup_platform(struct domain* d) } hvm_zap_iommu_pages(d); - hvm_map_io_shared_page(v); platform = &d->arch.hvm_domain; pic_init(&platform->vpic, pic_irq_request, &platform->interrupt_request); diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h index 04faa8971c..95b9696eb8 100644 --- a/xen/include/asm-x86/hvm/hvm.h +++ b/xen/include/asm-x86/hvm/hvm.h @@ -77,12 +77,17 @@ hvm_disable(void) hvm_funcs.disable(); } +void hvm_map_io_shared_page(struct vcpu *v); + static inline int hvm_initialize_guest_resources(struct vcpu *v) { + int ret = 1; if ( hvm_funcs.initialize_guest_resources ) - return hvm_funcs.initialize_guest_resources(v); - return 0; + ret = hvm_funcs.initialize_guest_resources(v); + if ( ret == 1 ) + hvm_map_io_shared_page(v); + return ret; } static inline void -- 2.30.2